package com.gjzt.business.task.service;

import java.util.List;


import com.gjzt.business.task.inter.CheckTemplateMapper;
import com.gjzt.business.task.model.CheckTemplate;
import com.eastdigit.servlet.ReqBean;
import com.eastdigit.system.model.BusinessException;
import com.eastdigit.system.model.SqlBuilder;
import com.eastdigit.system.service.BaseService;
import com.eastdigit.util.DateUtil;
import com.eastdigit.util.StringUtil;
import net.sf.json.JSONObject;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.Date;

@Service
public class CheckTemplateService extends BaseService {

    @Autowired
    private CheckTemplateMapper checkTemplateMapper;

    /**
     * 查询
     *
     * @param reqBean
     * @return
     */
    public JSONObject findCheckTemplate(ReqBean reqBean) {

        String templateName = reqBean.getInfo("templateName");
        String templateType = reqBean.getInfo("templateType");
        String sql = "select * from AD_CHECK_TEMPLATE a where 1=1 ";
        SqlBuilder sqlBuilder = new SqlBuilder(sql);
        sqlBuilder.addWhereLike2("a.TEMPLATE_NAME", templateName).addWhere("a.TEMPLATE_TYPE",templateType);
        return this.queryTable(sqlBuilder, reqBean.getPageSize(), reqBean.getPageIndex());
    }

    /**
     * 新增
     *
     * @param reqBean
     */
    public void addCheckTemplate(ReqBean reqBean) {
        CheckTemplate checkTemplate = getCheckTemplate(reqBean);
        checkTemplate.setMakeTime(checkTemplate.getModifyTime());

        checkTemplate.setTemplateId(intIncrementId("AD_CHECK_TEMPLATE","TEMPLATE_ID"));
        checkTemplateMapper.insert(checkTemplate);
    }

    /**
     * 修改
     *
     * @param reqBean
     */
    public void updateCheckTemplate(ReqBean reqBean) {
        String templateId = reqBean.getInfo("templateId");
        if (StringUtil.isEmpty(templateId)) {
            throw new BusinessException("获取主键失败");
        }
        CheckTemplate checkTemplate = getCheckTemplate(reqBean);
        checkTemplateMapper.updateByPrimaryKeySelective(checkTemplate);
    }

    /**
     * 删除
     *
     * @param reqBean
     */
    public void removeCheckTemplate(ReqBean reqBean) {
        String templateId = reqBean.getInfo("templateId");
        if (StringUtil.isEmpty(templateId)) {
            throw new BusinessException("获取主键失败");
        }
        checkTemplateMapper.deleteByPrimaryKey(templateId);
    }

    /**
     * 从表单获取对象
     *
     * @param reqBean
     * @return
     */
    private CheckTemplate getCheckTemplate(ReqBean reqBean) {
        CheckTemplate checkTemplate = new CheckTemplate();

        checkTemplate.setTemplateId(reqBean.getInfo("templateId"));
        checkTemplate.setTemplateName(reqBean.getInfo("templateName"));
        checkTemplate.setTemplateType(reqBean.getInfo("templateType"));
        checkTemplate.setTemplateValue(reqBean.getInfo("templateValue"));
        checkTemplate.setOperator(reqBean.getUserId());
        checkTemplate.setMakeTime(DateUtil.parseDateTime(reqBean.getInfo("makeTime")));
        checkTemplate.setModifyTime(new Date());
        checkTemplate.setRemark(reqBean.getInfo("remark"));

        return checkTemplate;
    }

}